Unit Testing
TL;DRs
ユニットテストは重要だが、強力な力には強力な責任が伴う。軽率なユニットテストはシステムに対する自信を高めることなく変更のコストを高めてしまう。
変更されないテストに拘れ。
public APIからテストしろ。
相互作用ではなく状態をテストしろ。
テストを完全かつ簡潔にしろ。
方法ではなく振る舞いをテストしろ。
振る舞いを強調するようにテストを構造化せよ。
テストされる振る舞いによってテストを名付けよ。
テストにロジックを置くな。
明確な失敗メッセージをかけ。
DRYよりDAMPに従え。